#C 语言的类型别名 typedef
C 语言可以使用 typedef
定义类型的别名:
typedef 原类型名 新类型名;
例如:
typedef double number_t; // 将 number_t 作为 double 的别名
typedef int* intptr_t; // 将 intptr_t 作为 int* 的别名
typedef struct Player Player; // 将 Player 作为 struct Player 的别名
typedef enum DayOfWeek DayOfWeek; // 将 DayOfWeek 作为 enum DayOfWeek 的别名
typedef union Event Event; // 将 Event 作为 union Event 的别名
示例:
#include <stdio.h>
// 定义结构体类型,并定义别名 Player,从而省略 struct
typedef struct Player
{
char name[64];
int hp;
int mp;
} Player;
int main(void)
{
// 定义 Player 类型的变量 p1 p2
Player p1 = {'Mario', 6, 10};
Player p2 = {'Luigi', 5, 15};
return 0;
}
示例中定义结构体类型 struct Player
的同时也定义了该类型的别名 Player
;从而在使用该类型时可以省略 struct
。